#!/usr/bin/perl
# Bkpconf2 - Derivado do bkpconf originalmente escrito por Andre Viegas
# Changes:  Aceita nome de arquivos extensos em dirs ( /bla/bla/bla/bla.txt )
#                    Aceita multiplos arquivos de uma soh vez
#                    Ficou menos user-friendly ...nao emprime msgs de erro , bahh..
#                    que mensagens ha para _mostrar_ ...

unless ($#ARGV >= 0) { usage() } ;

bkpconf(@ARGV) ;
exit;

sub usage {
print "Usage:\n $0  <arq1 path> <arq2 path> <arqN path>\n" ;
exit;
}

sub bkpconf {


                foreach $file (@_) {
                        chomp $file ;
                         if ($file =~ /(\S+\/)(\S+$)/){
                                 chdir $1 ;
                                 $file = $2 ;
                        }

                         unless ( -d "$file.bkp" )  {
                                    mkdir "$file.bkp", oct("0755");
                        }
                        if ( -d "$file.bkp" ) {
                             my $hoje = `date +%Y%m%d`;
                chop $hoje ;
                             my $ver = 0;
                             while ( -e "$file.bkp/$file.$hoje.$ver" ) {
                                 $ver++;
                             }
                        system("cp $file $file.bkp/$file.$hoje.$ver");
                        if ( -e "$file.bkp/$file.$hoje.$ver" ) {
                                print "Backup of $file done !\n";
                        }else{
                                print "Houston, we got some problems !!\n";
                        }

                        }
                }
}

